home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 147
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z
/
Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin
/
fdimg
/
—‹Œêsrc.lzh
/
3ddef.h
next >
Wrap
C/C++ Source or Header
|
1992-12-21
|
5KB
|
181 lines
#include <STDIO.H>
#include <STDLIB.H>
#include <CLASS.H>
#define TRUE 1
#define FALSE 0
#define NULL_FP ((FILE *)0)
#define KAIGYOU0 L'∇' /* デフォルトの改行マーク 81DEH */
#define EOS '\0' /* 文字列の終わり */
#define CR '\n' /* 改行コード */
#define TAB '\t' /* タブコード */
#define BODYSIZE 114
#define NIL ((UNIT *) NULL)
#define NOT ((UNIT *) -1)
#define MAX_TEXT 32
#define MAX_FILE 32
#define MAX_OPTION 32
#define MAX_WINDOW 16
#define MAXLINE 128 /* 標準的な文字列の長さ */
#define VERY_LONG_LINE 1024 /* いくら何でもこれだけあれば大丈夫だろうという長さ */
#define BAG_LIMIT (1024-1) /* 袋の大きさ */
#define XWIDTH0 96
#define YWIDTH0 32 /* 画面の大きさ */
#define MAX_MARK 10 /* マークの数 */
typedef struct UNIT {
struct UNIT *MAE; /* 4 */
struct UNIT *ATO; /* 4 */
struct UNIT *EXT; /* 4 */
UWORD LENGTH; /* 2 */
UBYTE BODY[BODYSIZE]; /* 114 */
} UNIT;
typedef struct STRING {
UBYTE CONTENT[MAXLINE];
} STRING;
typedef struct LINE_INFORMATION {
int BPOS; /* byte position */
int XPOS; /* X座標位置 */
} LINE_INFORMATION;
typedef UBYTE *STR;
#define MAX_COMMAND_NUMBER 160 /* コマンドの総数は160までである */
#define MAX_COMMAND_STROKE 7 /* コマンドのストロークは7までである */
#define MAX_COMMAND_NAME_LENGTH 32 /* コマンドネームは32文字までである */
#define COMMAND_UNDER_BLANC_MASK 0x00000001
#define COMMAND_ARG_LOOP_MASK 0x00000002
#define CHANGED_FLAG_MASK 0x00000004
typedef struct COMMAND_UNIT {
UWORD COMMAND_STRING[MAX_COMMAND_STROKE+1]; /* */
UINT COMMAND_FLAG; /* 実行後の処理のフラグ */
void (*FUNCTION)(); /* */
UBYTE COMMAND_NAME[MAX_COMMAND_NAME_LENGTH+1]; /* */
} COMMAND_UNIT;
#define TAB_LENGTH_LIMIT 16
#define COLUMN_MIN 16
#define COLUMN_MAX 90
#define LYW_UPPER0 8
#define LYW_MAIN0 16
#define LYW_UNDER0 4
typedef struct WINDOW_DATA {
int WX0,WY0,WX1,WY1;
int WCX,WCY;
int WCX0;
int WCPX;
int WTEXTS;
UNIT *WHEADS;
UNIT *WTAILS;
} WINDOW_DATA;
typedef struct TEXT_DATA {
int JIZUME; /* 字詰め(半角換算)は TEXT ごと( WINDOW ごとではない!) */
int TEXT_FILE; /* テキストに割り付けられたファイル番号 */
UNIT TEXT_HEADS,TEXT_TAILS;
/* テキストの数だけ頭、尻尾への実体を持つ */
int TAB_SIZE; /* タブの長さ */
int CHANGED_FLAG; /* 変更されたかどうかのフラグ */
int BAK_FLAG; /* バックアップファイルを作るかどうかのフラグ */
} TEXT_DATA;
#define RAW0 01 /* 入力されたまま:青 */
#define CFUSI0 10 /* 現在作業中の文節:反転黄色 */
#define OFUSI0 02 /* 未確定の他の文節:黄 */
#define KAKUTEI0 03 /* 確定された文字:白 */
#define NORMAL0 03 /* 通常の文字:白 */
#define MIZU_REV 9 /* 水色のリバース */
#define MIZU_EMPH_REV 13 /* 水色の強調・リバース */
#define TBUFF_SIZE 1024
#define SEG_MAX 64
#define SEG_LEN 80
#define CWY0D (WDATA[CWN].WY0D)
#define CWX0 (WDATA[CWN].WX0)
#define CWY0 (WDATA[CWN].WY0)
#define CWX1 (WDATA[CWN].WX1)
#define CWY1 (WDATA[CWN].WY1)
#define CX (WDATA[CWN].WCX)
#define CY (WDATA[CWN].WCY)
#define CPX (WDATA[CWN].WCPX)
#define CX0 (WDATA[CWN].WCX0)
#define CURRENT_TEXT (WDATA[CWN].WTEXTS)
#define CURRENT_JIZUME (TDATA[CURRENT_TEXT].JIZUME)
#define CURRENT_CHANGED (TDATA[CURRENT_TEXT].CHANGED_FLAG)
#define CURRENT_BAK (TDATA[CURRENT_TEXT].BAK_FLAG)
#define change_check(); if (!CURRENT_CHANGED) { disp_btm_changed();}
#define LEDSTAT 0x810
#define HDOT 24
#define PRN_MAX_CHAR 136
#define PRN_PAT_H 136*3
#define PRN_PAT_V 142
#define MACRO_MAX_STEP 128
typedef struct FNTBUF {
WORD xl;
WORD yl;
UBYTE buffer[72];
} FNTDATA;
#define MAX_XF 0x180
#define FEP_XF1_CODE 0x101
#define FEP_XF2_CODE 0x102
#define FEP_XF3_CODE 0x103
#define FEP_XF4_CODE 0x104
#define FEP_XF5_CODE 0x105
#define FEP_HELP_CODE 0x106
#define FEP_TOUROKU_CODE 0x107
#define FEP_KIGOU_CODE 0x108
#define FEP_HIRAGANA_CODE 0x109
#define FEP_INS_CODE 0x10a
#define FEP_CAPS_CODE 0x10b
#define FEP_CODE_CODE 0x10c
#define FEP_ROMA_CODE 0x10d
#define FEP_KANA_CODE 0x10e
#define FEP_DEL_CODE 0x141
#define FEP_HOME_CODE 0x142
#define FEP_CLR_CODE 0x143
#define FEP_DNARROW_CODE 0x144
#define FEP_RIGHTARROW_CODE 0x145
#define FEP_UPARROW_CODE 0x146
#define FEP_LEFTARROW_CODE 0x147
#define FEP_UNDO_CODE 0x148
#define FEP_ROLLDN_CODE 0x149
#define FEP_ROLLUP_CODE 0x14a
typedef struct {
struct UNIT *LP;
UWORD BP;
int PN;
} PM_UNIT;
#define MAX_TB 78